<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="../node_modules/vue/dist/vue.global.js"></script>
    <style>
        .big {
            width: 200px;
            height: 200px;
            background: red
        }

        .small {
            width: 100px;
            height: 100px;
            background: yellow
        }
    </style>
</head>

<body>
    <div id="app">
        <p @click.once="getprizeFn">抽奖</p>
        <div class="big" @click.capture="handleBigFn">
            <div class="small" @click.capture="handleSmallFn"></div>
        </div>
        <a href="http://www.baidu.com" @click.prevent="go">阻止事件的默认行为</a>
    </div>
</body>

</html>
<script>
    // 事件或按键的修饰符, 也是语法糖
    // 语法: @事件名.修饰符 = '执行逻辑'
    // 01: 事件修饰符
    // .once : 表示该事件只会执行一次
    // .self: 表示只有触发本身的时候,才会执行事件,可以阻止事件冒泡
    // .stop: 表示事件冒泡
    // .prevent 表示阻止默认行为
    // .capture 表示事件捕获
    // .stop.prevent....  修饰符的链式使用
    const app = Vue.createApp({
        data() {
            return {

            }
        },
        methods: {
            getprizeFn() {
                console.log('获取一等奖');
            },
            handleBigFn() {
                console.log('big');
            },
            handleSmallFn() {
                console.log('small');
            },
            go() {
                console.log('gogogogo');
            }
        }
    }).mount('#app')

</script>